<?php
namespace app\common;
use app\BaseController;
use think\facade\View;
use think\helper\Str;
use app\backend\service\AuthService;
use app\backend\service\MenuService;

class RootController extends BaseController
{
    /**
     * 引入trait类
     */
    use RootResult;


    /**
     * 模板赋值
     * @param string $name
     * @param $value
     * @return \think\View
     */
    protected function assign(string $name, $value)
    {
        return View::assign($name, $value);
    }

    /**
     * 模板渲染
     * @param string $template
     * @param array $data
     * @return string
     */
    protected function fetch(string $template = '', array $data = [])
    {
        // 模板路径
        $viewPath = join('/', ['../view', app('http')->getName(), Str::snake($this->request->controller())]);
        // 模板名称
        $viewFile = $viewPath . '/' . $this->request->action() . '.' . config('view.view_suffix');
        // 创建模板
        if (!is_file($viewFile)) {
            is_dir($viewPath) || mkdir($viewPath, 0775, true);
            // 初始化模板
            file_put_contents($viewFile, file_get_contents(config('view.init_template')));
        }
        return View::fetch($template, $data);
    }
}